package com.sse.conexion;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import com.sse.VO.CasaVO;

/**
 * 
 * @author Andres
 *
 */
public class ManejadorCasa 
{
	public static ArrayList<CasaVO> obtenerCasas() throws Exception 
	{
		ArrayList<CasaVO> lCasas = new  ArrayList<CasaVO>();
		
		Connection con 			= ConectorBD.getConexion();
		Statement sqlStatement 	= con.createStatement();
		ResultSet rs  			= null;

		rs 	= sqlStatement.executeQuery("SELECT cas_id, cas_nombre FROM casa");

		while (rs.next()) {
			
			CasaVO vo = new CasaVO();
			
			vo.setIdentificador(rs.getInt("cas_id"));
			vo.setDescripcion(rs.getString("cas_nombre"));

			lCasas.add(vo);	 
		} 
				
		con.close();

		return lCasas;
	}
	
	public static int ingresarCasa(CasaVO vo) throws Exception 
	{
		String strSql = "INSERT INTO casa(" +
				"cas_id," +
				"cas_nombre" +
				") VALUES (?, ?)";
                 
		Connection con 			= ConectorBD.getConexion();
		PreparedStatement pstmt	= con.prepareStatement(strSql);   

		pstmt.setInt(1,vo.getIdentificador());
		pstmt.setString(2,vo.getDescripcion());
     
		int resultado = pstmt.executeUpdate();
		
		con.close();
		
		return resultado;
	}
	
	public static ArrayList<CasaVO> obtenerCasasByUser(String idUser) throws Exception 
	{
		ArrayList<CasaVO> lCasas = new  ArrayList<CasaVO>();
		
		Connection con 			= ConectorBD.getConexion();
		Statement sqlStatement 	= con.createStatement();
		ResultSet rs  			= null;

		rs 	= sqlStatement.executeQuery("SELECT cas_id, cas_nombre FROM casa WHERE usuario_id=" + idUser);

		while (rs.next()) {
			
			CasaVO vo = new CasaVO();
			
			vo.setIdentificador(rs.getInt("cas_id"));
			vo.setDescripcion(rs.getString("cas_nombre"));

			lCasas.add(vo);	 
		} 
				
		con.close();

		return lCasas;
	}
	
	public static void main(String[] args) throws Exception {

		//SE CREA 50 CASAS
		for(int i=0;i<50;i++)
		{
			CasaVO vo = new CasaVO();
			
			vo.setIdentificador(i+1);
			vo.setDescripcion("CASA " + (i+1));
			
			ManejadorCasa.ingresarCasa(vo);
		}
	
		System.out.println(ManejadorCasa.obtenerCasas().size());
		
	}
}
